Ch 9.htm

назад | содержание | вперед

Организация печати

Печать текста, то есть вывод данных на принтер, можно организовать при помощи файлового оператора print #. Действительно, с точки зрения вывода данных, в принципе все равно, куда пересылать информацию. Необходимо только правильно указать ее получателя.

Для пересылки данных на принтер используется прямое назначение порта принтера (LPT1, LPT2) в качестве получателя данных. Это можно сделать при помощи оператора открытия файла open:

Open "LPT 1" For Output As #nPrinterHandle

После выполнения этого оператора для адресации данных на принтер необходимо использовать дескриптор (идентификатор файла) #nprinterHandle. Если в приложении не поддерживается вычисление идентификатора файлов, то следует использовать функцию FreeFile для его вычисления. Аналогично можно направить данные в любой другой порт компьютера или сети.

После того как порт открыт для приема данных, можно использовать оператор print #. Следующее выражение посылает на принтер данные для печати:

Print #nPrinterHandle, strExpression

В этом выражении strExpression задает печатаемый текст.

Используя функции и операторы чтения данных из файла, можно организовать циклический построчный вывод файла на печать.

Однако этот метод организации вывода данных на печать имеет свои тонкости. Все операции работы принтера (позиционирование печатающей головки, перевод строки, перевод страницы и др.) теперь потребуется программировать с помощью специальных операторов, которые понимает принтер. Такие операторы называются Esc-кодами (Esc-последовательностями). Их описание прилагается к каждому принтеру и здесь мы не будем их рассматривать.

После завершения печати данных порт закрывается оператором close, который также используется для закрытия файла:

Close #nPrinterHandle

или

Close

При использовании оператора close без дескриптора одновременно с портом закрываются и файлы, из которых выводилась информация.

назад | содержание | вперед